#__init__.py : 初始化文件，创建Flask应用

from decimal import Decimal

from flask import Flask
from flask_mail import Mail,Message
from .views import blue
from .exts import init_exts


#将函数使 app = Flask(__name__) 封装起来 需要用的时候调用 避免乱用
def create_app():
    app = Flask(__name__)

    app.jinja_env.globals.update(Decimal=Decimal)

    #注册蓝图
    app.register_blueprint(blueprint=blue)

    # 配置数据库(sqlite)
    # db_uri = 'sqlite:///sqlite3.db' # sqlite
    db_uri = 'mysql+pymysql://root:123456@localhost:3306/wages' #mysql
    app.config['SQLALCHEMY_DATABASE_URI'] = db_uri
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # 禁止对象追踪修改

    app.config['MAIL_SERVER'] = 'smtp.qq.com'  # QQ 邮箱 SMTP 服务器
    app.config['MAIL_PORT'] = 465  # QQ 邮箱 SSL 端口
    app.config['MAIL_USE_SSL'] = True  # 启用 SSL
    app.config['MAIL_USERNAME'] = '2603614545@qq.com'  # 你的 QQ 邮箱
    app.config['MAIL_PASSWORD'] = 'twmfofmfqhzzdhhj'  # QQ 邮箱授权码（非登录密码！）

    # 初始化插件
    init_exts(app=app)

    return app